package com.webserver.servlet;

import com.webserver.http.HttpRequest;
import com.webserver.http.HttpResponse;

import java.io.File;
import java.util.HashMap;
import java.util.HashSet;
import java.util.Map;
import java.util.Set;

/**
 * 用于处理请求环节
 */
public class DispatcherServlet {

    public void service(HttpRequest request, HttpResponse response){
        String path = request.getUri();
        File file = new File("./webapps"+path);
        if (file.exists()&& file.isFile()){
            //文件存在直接响应
            response.setEntity(file);
            /*
                1:根据file获取用户请求的资源的文件名
                2:通过文件名截取出后缀
                3:根据后缀设置Content-Type的值,具体参照http.txt文件最后
             */
        }else {
            //文件不存在或者定位的是一个目录则响应404.
            response.setStatusReason("Not Found");
            response.setStatusCode(404);
            file = new File("./webapps/root/404.html");
            response.setEntity(file);
        }
        response.putHeaders("Server","WebServer");
    }
}
